\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage{geometry}

\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}

%opening
\title{GSPP: General Signal Processing Platform}
\author{Kunpeng Wang\\ \url{wkphnzk@gmail.com}}


\begin{document}

\maketitle

\section{Main Functions}

\begin{enumerate}
\item Data loading form files, equipments and network; 
\item Data managerment, contain: data view, edit, delete and export;
\item Data analysis and process;
\item Data ploting, contain: 2D plot, 3D plot, and user interaction;
\item Program extendable.
\end{enumerate}

\section{Changes}
\subsection{V0.1}

Function:
\begin{enumerate}
\item Text data import;
\item Project Create, Workspace Create, Plot View Create;
\item Variable View, Data Managerment(View, Delete);
\item Build General Data Model and General Plot Model.
\end{enumerate}

Weakness:
\begin{enumerate}
\item There are too many windows and dialogs;
\item The startWindow can not hide after plugins loaded;
\item The multi-project schema is needless, it's rarely used in real projects.
\end{enumerate}

\subsection{V0.2}

In Version, the program will change as follows:
\begin{enumerate}
\item Most of the window and dialog will be docked in MainWindow; 
\item The startWindow will be closed after plugins loaded;
\item Only one project will be reserved, however, workspace and plot can be multiple;
\item All plot used a copy of the origional data, so as to protect the origional data not to be modified;
\item Variable view window and data manager window used the origional data, and has all operation permissions;
\item Improve the function of data import.
\begin{itemize}
\item Add the data import functions of GSPP,ITPP,MATLAB formats;
\item Add data acquisition function and data realtime show function;
\item To save the data to the database;
\end{itemize}
\item Add plugin loading function. 
\begin{itemize}
\item Using the dynamic link libraries, which contains:menuName, type, dllName;
\item Provide an general plugin interface head file;
\item All plugin can get data from project space, and return data from their workspace.
\end{itemize}
\end{enumerate}

\subsection{V0.2.4}

\begin{enumerate}
\item Add Data Compression Function;
\item Remove the import data format support of ITPP and MATLAB.
\end{enumerate}

\subsection{V0.2.5}

\begin{enumerate}
\item Add plugin function;
\item Change static link to dynamic link. 
\end{enumerate}

\subsection{V0.2.6}

\begin{enumerate}
\item Add variable rename and copy function;
\item Edit some function of new plot, parameter edit, figure export.
\end{enumerate}

\subsection{V0.2.7}

\begin{enumerate}
\item Add Plot Setting Dialog;
\item Fix the antialiasing problem when rendering the figure.
\end{enumerate}

\subsection{V0.2.8}

\begin{enumerate}
\item Change the gsplot function to dynamic linking;
\item Solve the dynamic linking path search problem;
\item Solve the font render resolution problem.
\end{enumerate}

\subsection{V0.2.9}

\begin{enumerate}
\item Remove the plot export function, because the data can be exported.
\end{enumerate}

\subsection{V0.2.10}

\begin{enumerate}
\item Add analysis and processing function;
\item Every analysis or processing function has it's own variable space, but the results of data and figure can be returned;
\end{enumerate}

\section{Blind Source Separation}
Blind Source separation (BSS) aims at estimating a set of source signals thanks to mixtures of these signals. The separation is said blind as we don't know the mixture parameters and we try to estimate the sources by only knowing the observations. BSS is very up-to-date at present in signal processing because of the great number of applications for instance in acoustics, in telecommunications, in neurobiology or in astrophysics.
 
Apart from the classification between (over-)determined and the under-determined mixtures when the number of observations is greater than or equal to (resp. lower than) the number of sources, there exist different mixture models depending on the application and on the realism that we want to attain:
 
\begin{enumerate}
\item The linear instantaneous mixtures are the more simple. They consider that each observation is a sum of scaled versions of the source signals. If we assemble all the mixture coefficients in a matrix called mixture matrix, the problems deals with the identification of the inverse of this matrix up to a diagonal matrix and a permutation matrix.
     
\item The scaled and delayed mixtures are met when the source contributions are some scaled and delayed versions of the sources. This type of mixtures has been studied in our team and some time-frequency algorithms have been developed.
     
\item The convolutive mixtures are the most general linear ones but also the most complicated to separate. In this case the source contributions are some filtered version of the original sources. Our team has developed a time-domain algorithm for this type of mixtures which is inspired from the famous FastICA algorithm only intended for linear instantaneous mixtures.
     
\item The non-linear mixtures have been very few studied. Some particular classes of mixtures, for instance the post non-linear mixtures or the linear-quadratic mixtures have been dealed with however.
\end{enumerate}
 
Blind Source Separation methods can be divided in three classes:
 
\begin{enumerate}
\item Independent Component Analysis (ICA) is a class of BSS methods which supposes that the source signals are independent from each other. Then we try to obtain output signals which are as independent as possible. One necessary condition to let the separation is non-Gaussianity: all the sources (except one eventually) must be non-Gaussian.
     
\item Sparse Component Analysis (SCA) supposes that the source signals have a certain parsimony in the analysis domain (be time-frequency or wavelet domains for instance). The presence of a unique source in a zone of the analysis domain lets the identification of some mixture parameters.

\item Non-negative Matrix Factorization (NMF) supposes that the source and mixtures matrices are non-negative. We thus try to find two positive matrices whose product is equal to the observation matrix. This constraint is available for instance in astrophysics for blind separation of chemical species in interstellar dust clouds. 
\end{enumerate}

\end{document}
